home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
xlisp2.arc
/
XLFTAB.C
< prev
next >
Wrap
Text File
|
1985-01-01
|
6KB
|
204 lines
/* xlftab.c - xlisp function table */
#include "xlisp.h"
/* external functions */
extern NODE
*xeval(),*xapply(),*xfuncall(),*xquote(),*xbquote(),
*xset(),*xsetq(),*xsetf(),*xdefun(),*xdefmacro(),
*xgensym(),*xmakesymbol(),*xintern(),
*xsymname(),*xsymvalue(),*xsymplist(),*xget(),*xremprop(),
*xcar(),*xcaar(),*xcadr(),*xcdr(),*xcdar(),*xcddr(),
*xcons(),*xlist(),*xappend(),*xreverse(),*xlast(),*xnth(),*xnthcdr(),
*xmember(),*xassoc(),*xsubst(),*xsublis(),*xremove(),*xlength(),
*xmapc(),*xmapcar(),*xmapl(),*xmaplist(),
*xrplca(),*xrplcd(),*xnconc(),*xdelete(),
*xatom(),*xsymbolp(),*xnumberp(),*xboundp(),*xnull(),*xlistp(),*xconsp(),
*xeq(),*xeql(),*xequal(),
*xcond(),*xand(),*xor(),*xlet(),*xletstar(),*xif(),
*xprog(),*xprogstar(),*xprog1(),*xprog2(),*xprogn(),*xgo(),*xreturn(),
*xcatch(),*xthrow(),
*xerror(),*xcerror(),*xbreak(),*xerrset(),*xbaktrace(),*xevalhook(),
*xdo(),*xdostar(),*xdolist(),*xdotimes(),
*xadd(),*xsub(),*xmul(),*xdiv(),*xrem(),*xmin(),*xmax(),*xabs(),
*xadd1(),*xsub1(),*xbitand(),*xbitior(),*xbitxor(),*xbitnot(),
*xminusp(),*xzerop(),*xplusp(),*xevenp(),*xoddp(),
*xlss(),*xleq(),*xequ(),*xneq(),*xgeq(),*xgtr(),
*xstrlen(),*xstrcat(),*xsubstr(),*xascii(),*xchr(),*xatoi(),*xitoa(),
*xread(),*xprint(),*xprin1(),*xprinc(),*xterpri(),
*xflatsize(),*xflatc(),*xexplode(),*xexplc(),*ximplode(),*xmaknam(),
*xopeni(),*xopeno(),*xclose(),*xrdchar(),*xpkchar(),*xwrchar(),*xreadline(),
*xload(),*xgc(),*xexpand(),*xalloc(),*xmem(),*xtype(),*xexit();
struct fdef ftab[] = {
/* evaluator functions */
"eval", SUBR, xeval,
"apply", SUBR, xapply,
"funcall", SUBR, xfuncall,
"quote", FSUBR, xquote,
"function", FSUBR, xquote,
"backquote", FSUBR, xbquote,
/* symbol functions */
"set", SUBR, xset,
"setq", FSUBR, xsetq,
"setf", FSUBR, xsetf,
"defun", FSUBR, xdefun,
"defmacro", FSUBR, xdefmacro,
"gensym", SUBR, xgensym,
"make-symbol", SUBR, xmakesymbol,
"intern", SUBR, xintern,
"symbol-name", SUBR, xsymname,
"symbol-value", SUBR, xsymvalue,
"symbol-plist", SUBR, xsymplist,
"get", SUBR, xget,
"remprop", SUBR, xremprop,
/* list functions */
"car", SUBR, xcar,
"caar", SUBR, xcaar,
"cadr", SUBR, xcadr,
"cdr", SUBR, xcdr,
"cdar", SUBR, xcdar,
"cddr", SUBR, xcddr,
"cons", SUBR, xcons,
"list", SUBR, xlist,
"append", SUBR, xappend,
"reverse", SUBR, xreverse,
"last", SUBR, xlast,
"nth", SUBR, xnth,
"nthcdr", SUBR, xnthcdr,
"member", SUBR, xmember,
"assoc", SUBR, xassoc,
"subst", SUBR, xsubst,
"sublis", SUBR, xsublis,
"remove", SUBR, xremove,
"length", SUBR, xlength,
"mapc", SUBR, xmapc,
"mapcar", SUBR, xmapcar,
"mapl", SUBR, xmapl,
"maplist", SUBR, xmaplist,
/* destructive list functions */
"rplaca", SUBR, xrplca,
"rplacd", SUBR, xrplcd,
"nconc", SUBR, xnconc,
"delete", SUBR, xdelete,
/* predicate functions */
"atom", SUBR, xatom,
"symbolp", SUBR, xsymbolp,
"numberp", SUBR, xnumberp,
"boundp", SUBR, xboundp,
"null", SUBR, xnull,
"not", SUBR, xnull,
"listp", SUBR, xlistp,
"consp", SUBR, xconsp,
"minusp", SUBR, xminusp,
"zerop", SUBR, xzerop,
"plusp", SUBR, xplusp,
"evenp", SUBR, xevenp,
"oddp", SUBR, xoddp,
"eq", SUBR, xeq,
"eql", SUBR, xeql,
"equal", SUBR, xequal,
/* control functions */
"cond", FSUBR, xcond,
"and", FSUBR, xand,
"or", FSUBR, xor,
"let", FSUBR, xlet,
"let*", FSUBR, xletstar,
"if", FSUBR, xif,
"prog", FSUBR, xprog,
"prog*", FSUBR, xprogstar,
"prog1", FSUBR, xprog1,
"prog2", FSUBR, xprog2,
"progn", FSUBR, xprogn,
"go", FSUBR, xgo,
"return", SUBR, xreturn,
"do", FSUBR, xdo,
"do*", FSUBR, xdostar,
"dolist", FSUBR, xdolist,
"dotimes", FSUBR, xdotimes,
"catch", FSUBR, xcatch,
"throw", SUBR, xthrow,
/* debugging and error handling functions */
"error", SUBR, xerror,
"cerror", SUBR, xcerror,
"break", SUBR, xbreak,
"errset", FSUBR, xerrset,
"baktrace", SUBR, xbaktrace,
"evalhook", SUBR, xevalhook,
/* arithmetic functions */
"+", SUBR, xadd,
"-", SUBR, xsub,
"*", SUBR, xmul,
"/", SUBR, xdiv,
"1+", SUBR, xadd1,
"1-", SUBR, xsub1,
"rem", SUBR, xrem,
"min", SUBR, xmin,
"max", SUBR, xmax,
"abs", SUBR, xabs,
/* bitwise logical functions */
"bit-and", SUBR, xbitand,
"bit-ior", SUBR, xbitior,
"bit-xor", SUBR, xbitxor,
"bit-not", SUBR, xbitnot,
/* numeric comparison functions */
"<", SUBR, xlss,
"<=", SUBR, xleq,
"=", SUBR, xequ,
"/=", SUBR, xneq,
">=", SUBR, xgeq,
">", SUBR, xgtr,
/* string functions */
"strlen", SUBR, xstrlen,
"strcat", SUBR, xstrcat,
"substr", SUBR, xsubstr,
"ascii", SUBR, xascii,
"chr", SUBR, xchr,
"atoi", SUBR, xatoi,
"itoa", SUBR, xitoa,
/* I/O functions */
"read", SUBR, xread,
"print", SUBR, xprint,
"prin1", SUBR, xprin1,
"princ", SUBR, xprinc,
"terpri", SUBR, xterpri,
"flatsize", SUBR, xflatsize,
"flatc", SUBR, xflatc,
"explode", SUBR, xexplode,
"explodec", SUBR, xexplc,
"implode", SUBR, ximplode,
"maknam", SUBR, xmaknam,
/* file I/O functions */
"openi", SUBR, xopeni,
"openo", SUBR, xopeno,
"close", SUBR, xclose,
"read-char", SUBR, xrdchar,
"peek-char", SUBR, xpkchar,
"write-char", SUBR, xwrchar,
"readline", SUBR, xreadline,
/* system functions */
"load", SUBR, xload,
"gc", SUBR, xgc,
"expand", SUBR, xexpand,
"alloc", SUBR, xalloc,
"mem", SUBR, xmem,
"type", SUBR, xtype,
"exit", SUBR, xexit,
0
};